package cn.pconline.officialclub.service;

import cn.pc.util.JsonClient;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * 发消息相关
 *
 * @author <a href="mailto:chensy0203@163.com">chensy</a>
 */
public class OMessageService extends ServiceKit {

    @Autowired
    private JsonClient jsonClient;
    public static final String CLUB_APPLY_PASS = "您所在的车友会 %s 申请入驻 %s，已经获得通过，谢谢！";
    public static final String CLUB_APPLY_REFUSE = "您所在的车友会 %s 申请入驻 %s，已被拒绝，谢谢！";
    public static final String CLUB_APPLY_RECEIVED = "您管理的车友会 %s 收到 %s 的入会申请，请前往 %s 进行审核，谢谢！";
    public static final String CLUB_CANEL_APPLY = "您所在的车友会 %s，网友 %s 取消申请加入车友会。";
    public static final String USER_UP_PRESIDENT = "您所在的车友会 %s，管理员已将您设为会长。";
    public static final String USER_UP_VICE_PRESIDENT = "您所在的车友会 %s，管理员已将您设为副会长。";
    public static final String USER_DOWN_ADMIN = "您所在的车友会 %s，管理员已将您解除 %s职务。";
    public static final String USER_LEAVE_CLUB = "您所在的车友会 %s，会员 %s 退出车友会。";
    public static final String USER_FIRE_CLUB = "您所在的车友会 %s，管理员已将您移出车友会。";
    public static final String ACTIVITY_APPLY = "您所在车友会的 %s 活动，会员 %s 申请报名，请前往审核。";
    public static final String ACTIVITY_APPLY_PASS = "您申请参加的 %s 活动，审核已通过，请您注意活动开始时间。";
    public static final String ACTIVITY_APPLY_REJECT = "您申请参加的 %s 活动，审核已被车友会管理员拒绝，无法参加活动。";

    /**
     * 发单条系统消息
     *
     * @param userId
     * @param content
     * @param args
     */
    public void sendSysMsg(long userId, String content, Object... args) {
        content = String.format(content, args);
        final String url = systemConfig.getMsgFeedUrl();
        final int typeId = Integer.parseInt(systemConfig.getSysNoticeTpyeId());
        final Map<String, Object> contents = new HashMap<String, Object>(2);
        contents.put("content", content);
        jsonClient.sysnotice(url, 0, userId, typeId, contents);
    }

    /**
     *
     * @param url 车友会域名
     * @param name 车友会名称
     * @return
     */
    public String getClubLink(String url, String name) {
        String clubUrl = systemConfig.getRoot() + "/" + url + "/";
        return String.format("<a href=\"%s\" target=\"_blank\">%s</a>", clubUrl, name);
    }

    /**
     *
     * @param url 车友会域名
     * @param name 车友会名称
     * @return
     */
    public String getOClubLink(String url, String name) {
        String clubUrl = systemConfig.getRoot() + "/brand/" + url + "/";
        return String.format("<a href=\"%s\" target=\"_blank\">%s</a>", clubUrl, name);
    }

    /**
     *
     * @param clubUrl 车友会域名
     * @param activityId 活动ID
     * @param title 活动标题
     * @return
     */
    public String getOActivityLink(String clubUrl, long activityId, String title) {
        String activityUrl = systemConfig.getRoot() + "/brand/" + clubUrl + "/activity/a" + activityId + "/";
        return String.format("<a href=\"%s\" target=\"_blank\">%s</a>", activityUrl, title);
    }
}
